package com.daniel.io.file;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 详细说明
 *
 * @author Daniel
 * @version V1.0
 * @date 2020/6/16 16:52
 */
public class TestFileInputStream {
    public static void main(String[] args) {
        FileInputStream fis = null;
        try {
            // 1、创建一个文件输入流
            fis = new FileInputStream("C:\\Users\\Administrator\\Desktop\\j2se_源码和思维导图\\eclipse\\Lesson21\\src\\stream\\TestFileOutputStream.java");
            // 2、创建一个字节数组用来存储读取的信息
            byte[] buffer = new byte[1024];
            // 3、读取文件的长度
            int len = 0;
            // 4、循环读取数据
            while ((len = fis.read(buffer)) >= 0) {
                // 5、通过控制台输出数据，必须说明输出的长度
                // 解决中文乱码
                String value = new String(buffer, 0, len, "GBK");
                System.out.print(value);

                // 一般处理使用write
                // System.out.write(buffer, 0, len);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fis != null) {
                try {
                    // 6、读取完成后必须关闭流释放资源
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
